configure{
  enableConversationScope=configuration.isEnableConversationScope();
}
createSession{
  BoundSessionContext sessionContext=manager.instance().select(BoundSessionContext.class).get();
  CDISessionMap map=new CDISessionMap();
  sessionContext.associate(map);
  sessionContext.activate();
  sessionMap.set(map);
}
destroySession{
  BoundSessionContext sessionContext=manager.instance().select(BoundSessionContext.class).get();
  CDISessionMap map=sessionMap.get();
      sessionContext.invalidate();
      sessionContext.deactivate();
      sessionContext.dissociate(map);
}
createRequest{
  BoundRequestContext requestContext=manager.instance().select(BoundRequestContext.class).get();
  CDIRequestMap map=new CDIRequestMap();
  requestContext.associate(map);
  requestContext.activate();
  requestMap.set(map);
}
destroyRequest{
  BoundRequestContext requestContext=manager.instance().select(BoundRequestContext.class).get();
  CDIRequestMap map=requestMap.get();
    try {
      requestContext.invalidate();
      requestContext.deactivate();
  finally {
}
createConversation{
  if (!enableConversationScope) {
    return;
  CDIConversationID id=conversationId.get();
  if (id == null) {
    id=new CDIConversationID(null);
  conversationContext.activate(id.getId());
}
destroyConversation{
  if (!enableConversationScope) {
    return;
  BoundConversationContext conversationContext=manager.instance().select(BoundConversationContext.class).get();
  if (!conversationContext.getCurrentConversation().isTransient()) {
    conversationId.set(new CDIConversationID(conversationContext.getCurrentConversation().getId()));
    conversationId.set(new CDIConversationID(null));
    conversationContext.invalidate();
    conversationContext.deactivate();
}
